package com.yxy.model;


import lombok.Data;
import tk.mybatis.mapper.annotation.KeySql;
import tk.mybatis.mapper.code.ORDER;

import java.util.Date;
import java.math.BigDecimal;

import javax.persistence.*;


@Data
@Entity
@Table(name = "table_reception",schema = "")
public class TableReception {

  //id
  @Id
  @KeySql(useGeneratedKeys = true,sql = "SELECT @@IDENTITY",order = ORDER.AFTER)
  @Column(name = "id")
  private Long id;

  //顾客姓名
  @Column(name = "user_name")
  private String userName;

  //顾客账号
  @Column(name = "user_account")
  private String userAccount;

 //预约号
  @Column(name = "reception_number")
  private Long receptionNumber;

  //预约起始时间
  @Column(name = "start_time")
  private Date startTime;

 //预约时间日期
 @Column(name = "day_time")
 private String dayTime;


  //预约结束时间
  @Column(name = "end_time")
  private Date endTime;

  //预约门店编号
  @Column(name = "store_code")
  private String storeCode;

  //预约门店名称
  @Column(name = "store_name")
  private String storeName;

  //预约套餐编号（可不填）
  @Column(name = "set_meal_code")
  private String setMealCode;

  //预约套餐名称（可不填）
  @Column(name = "set_meal_name")
  private String setMealName;

  //预约医师编号（可不填）
  @Column(name = "physician_code")
  private String physicianCode;

  //预约医师名称（可不填）
  @Column(name = "physician_name")
  private String physicianName;

  //预约结果反馈手机号
  @Column(name = "outcome_phone")
  private String outcomePhone;

  //预约人数
  @Column(name = "number_people")
  private Long numberPeople;

  //预约结果  0 未处理 1 成功 2 失败
  @Column(name = "reception_outcome")
  private Long receptionOutcome;

  //预约失败原因
  @Column(name = "cause_failure")
  private String causeFailure;

  //未履约原因
  @Column(name = "appoint_cause")
  private String appointCause;

  //是否取消预约    0不操作 2取消预约 （取消之后可进行再次预约）
  @Column(name = "reception_cancel")
  private Long receptionCancel;

  //取消预约原因
  @Column(name = "cause_cancel")
  private String causeCancel;

  //是否履约    0：进行中 1，如期而至 2 没有取消预约，错过时间，违约
  @Column(name = "perform_appoint")
  private Long performAppoint;

  //标记数据状态 0 不显示 1显示
  @Column(name = "status")
  private Long status;

  //数据备注
  @Column(name = "misc")
  private String misc;

  //创建者id
  @Column(name = "create_user_id")
  private Long createUserId;

  //创建人姓名
  @Column(name = "create_user_name")
  private String createUserName;

  //创建时间
  @Column(name = "create_date")
  private Date createDate;

  //修改人id
  @Column(name = "update_user_id")
  private Long updateUserId;

  //修改人姓名
  @Column(name = "update_user_name")
  private String updateUserName;

  //更新时间
  @Column(name = "update_date")
  private Date updateDate;

  //varchar预留字段1
  @Column(name = "param1")
  private String param1;

  //预留字段2
  @Column(name = "param2")
  private Long param2;

  //预留字段3
  @Column(name = "param3")
  private BigDecimal param3;

 @Transient
 private String dataTime;

 @Transient
 private Integer reservationNumber;

}
